package data

type IDevice interface {
	// 获取要保存的标识列表
	GetDeviceMarks() []string
}

// 公共信息
type CommonDeviceInfo struct {
	IDevice
	Os      int    `form:"os"`
	MediaId string `form:"mediaId"` //媒体
	AppName string `form:"appName"` //推广的APP的英文标识
	Ip      string `form:"ip"`
	IpMd5   string `form:"ipMd5"`
	Ua      string `form:"ua"`
}

// 获取需要保存的标识
func (data *CommonDeviceInfo) GetDeviceMarks() []string {
	res := make([]string, 0, 10)
	if tmp := getIpUaMark(data.Ip, data.IpMd5, data.Ua); tmp != "" {
		res = append(res, tmp)
	}
	return res
}

// todo 暂不支持 ipUa
func getIpUaMark(ip, ipMd5, ua string) string {
	return ""
}
